約 5,170,876 件
https://w.atwiki.jp/cons/pages/20.html
添付ファイルの自動処理 メールの添付ファイルの仕組み SMTPでメールを送信するとき、DATAコマンドに続いてメールの内容をMIME形式でテキストを送信する。 To Display Name someone@example.com \r\n From \r\n Subject Content-Type text/plain \r\n (本文のテキスト) 添付ファイルを含むメールは、本文のテキストを一つのpart、添付ファイルをエンコードしてMIME形式にしたものをもう一つのpartとしたmultipart MIMEとして送信される。 添付ファイルを抽出するには、POPでmultipart MIMEを取得したあと、MIMEをパースしてファイルを取り出せばよい。 Perl use MIME IMAPClient; use Email MIME; use Email MIME Attachment Stripper; Thunderbird 2.x から送られてくるメールのテキストの添付ファイルは抽出できない。 原因は Thunderbird bug #65794 Content-Type text/plain; Content-Disposition inline; filename="... なんでもかんでもinline扱い。 とりあえず以下のようにすれば動く。 use Email MIME Attachment Stripper; {package Email MIME Attachment Stripper; sub _detach_all { my ($self, $part) = @_; $part ||= $self- {message}; return if $part- parts == 1; my @attach = (); my @keep = (); foreach ( $part- parts ) { my $ct = $_- content_type || text/plain ; my $dp = $_- header( Content-Disposition ) || inline ; push(@keep, $_) and next if $ct =~ m[text/plain]i $dp =~ /inline/i !(defined $_- filename); push @attach, $_; if ($_- parts 1) { my @kept=$self- _detach_all($_); push(@keep,@kept) if @kept; } } $part- parts_set(\@keep); push @{$self- {attach}}, map { my $content_type = parse_content_type($_- content_type); { content_type = join( / , @{$content_type}{qw[discrete composite]} ), payload = $_- body, filename = $self- {attr}- {force_filename} ? $_- filename(1) ($_- filename || ), } } @attach; return @keep; }}
https://w.atwiki.jp/seosprendimai/pages/10.html
SEO Sprendimai - Profesionalios SEO Paslaugos Vilniuje Mes esame žaidimo viršuje, kai reikia reitingą mūsų klientams Google organinių paieškos ir verslo žemėlapių sąrašus. Mes siūlome geriausias SEO paslaugas Lietuvoje. Mes reitinguojame savo klientus pirmame puslapyje, šimtams tikslinių konkurencingų raktinių žodžių "Google" ir kitose pagrindinėse paieškos sistemose; mes rangas ir nacionalinių ir tarptautinių raktažodžių, kurie gauna tūkstančius paieškų kiekvieną mėnesį. Jei ieškote paieškos optimizavimo bendrovė Lietuvoje, mes numeris vienas pavadinimas, kad jūs galite pasitikėti, kad jums rezultatus savo verslą. Ilgą laiką, paieškos SEO Optimizacija buvo nepakankamai įvertintas aspektas interneto rinkodaros ir reklamos, bet nuo to laiko tapo gyvybiškai svarbus. Daugelis įmonių dabar įtraukė šią internetinės rinkodaros strategiją, kad taptų gerai įsitvirtinusios savo rinkoje ir labiau paklausios tarp savo tikslinių klientų. Kas yra SEO? SEO yra procesas, kai sukurtas srautas į verslo svetainę yra sustiprintas didinant jų matomumą "Google" paieškos sistemos rezultatuose. Ėjimas per procesą, mūsų SEO paslaugos apima nustatyti ir optimizuoti savo svetainę (onpage) ir pareikšti aukštos kokybės atgal nuorodas iš patikimų ir autoritetingų susijusių svetainių (offpage). Tada svetainė bus rodoma didesnė pirmuosiuose "Google" organinės paieškos rezultatų puslapiuose, kad būtų gauta raktinių žodžių informacija apie tai, apie ką yra svetainė. SEO paslaugų nauda Jūsų įmonei Kai mūsų SEO agentūra nustato kampaniją, pagrįstą paieškos optimizavimas, pirmoji nauda, kad jūs galite gauti, yra tai, kad jūsų svetainė bus tada turėti aukštesnę poziciją paieškos rezultatus ir daugiau lankytojų iš tikslinių lankytojų. Kai klientai ieško jūsų produktų ar paslaugų internete, yra didesnė tikimybė, kad jie jus suras iš karto. Internetiniai klientai linkę užtikrinti, kad paieškos rezultatų viršuje rastos svetainės yra svetainės, kuriose teikiamos geriausios paslaugos ir produktai. Būdamas rodoma šiose vietose bus daug lengviau jums užfiksuoti susidomėjimą ir dėmesį šių klientų. Pagerinus reitingą ir sąmoningumą, didėja eismas, o po to didėja pardavimai. Pajamų padidėjimas ateis natūraliai, nes padidėjo poveikio, kad jūsų svetainė gauna 24 valandas per parą, septynias dienas per savaitę, ir 365 dienas per metus. Search Engine Optimisation Iš Geriausių SEO Service Lietuvoje Kaip Lietuvos pirmaujančių SEO konsultavimo ekspertai mes dirbome su daugeliu įmonių ir įdėti naudoti įvairias išbandytas strategijas ir metodus, siekiant padidinti savo svetainės reitingą, galite būti tikri, kad jūsų pardavimai taip pat didės laikui bėgant. Mūsų konsultantai dirbs kartu su jumis kurdami geriausias strategijas ir metodus, atitinkančius jūsų poreikius, reikalavimus ir biudžetą. SEO Paslaugos Vilniuje - Įvadas į tai, ką mes darome SEO Sprendimai kaip viena iš geriausių šalies SEO agentūrų, mes esame įsipareigoję teikti pasaulinio lygio rezultatus, aukšto lygio reitingą ir nuolatinį augimą. Mūsų komanda žada įdėti į sunkų darbą, būtiną siekiant maksimaliai padidinti savo paieškos optimizavimo metodus, įskaitant naudojant mūsų vidaus įrankiai. Nesvarbu, ar tai smulkusis verslas, ar didelė korporacija, mes turime galimybę tinkamai atlikti veiksmus. Su mūsų paketas SEO paslaugu kaina, klientai gali individualizuoti savo rinkodaros kompaniją ir sukurti kažką verta. https //seosprendimai.lt/seo-paslaugos/
https://w.atwiki.jp/granblue/pages/17.html
相手メールサーバーに迷惑メールサーバーと思われないようにする これらの設定がないとYahoo!メールの場合、メールのヘッダに迷惑メールっぽいよ?っていう↓のヘッダが差し込まれて デフォルトで迷惑メールフォルダに突っ込まれてしまうようだ X-YahooFilteredBulk xxx.xxx.xxx.xxx (IPアドレス) 個別に迷惑マークを解除すると次回から迷惑メールフォルダには入らなくなるが、 迷惑メールヘッダは差し込まれたまま ちなみにこの指定の解除は、以下の設定をしただけでそのうち直るかもしれないが、 カスタマーサポートに所定の様式を添えて問い合わせると こっちの設定がちゃんとしていれば、案外すぐに確認してくれて解除してくれる 逆引き設定をする IPアドレスからドメイン名を引けるようにする この設定はレンタルサーバー会社などネットワーク管理者に申請する感じ、正引きの場合と違う ちなみに、メールヘッダに記載されてる情報はメールアドレスのドメインじゃなくて メールサーバーのホスト名っぽい だから、逆引きの設定もドメイン名よりホスト名にした方がいいのかな?(未確認) SPFレコード 平たく言うとDNSレコードのtxtと言う種類のフィールドに、このドメインのメールはこのIPアドレスからしか 送信しませんという宣言みたいな感じのようだ 設定例 v=spf1 +mx -all これは、DNSレコードのうちmxレコードにあるIPアドレスから送信を許可し、それ以外から全部拒否 みたいな感じらしい 他にもIPアドレスで指定したりできる 設定前のメールヘッダ Received-SPF neutral (google.com 123.456.789.012 is neither permitted nor denied by best guess record for domain of info@example.com) client-ip=123.456.789.012; Authentication-Results mx.google.com; spf=neutral (google.com 123.456.789.012 is neither permitted nor denied by best guess record for domain of info@example.com) smtp.mail=info@example.com 設定後のメールヘッダ Received-SPF pass (google.com domain of info@example.com designates 123.456.789.012 as permitted sender) client-ip=123.456.789.012; Authentication-Results mx.google.com; spf=pass (google.com domain of info@example.com designates 123.456.789.012 as permitted sender) smtp.mail=info@example.com ちなみに、これだけやってもAOLだけは受信できなかった 詳しい設定はこちらの記事を参照 http //www.atmarkit.co.jp/fsecurity/special/82senderid/sender103.html サイト上からsendmailでメールを送信する時のワーニング サイト上からPHPの機能を使ってメールを送信すると以下のようなヘッダがメールに自動的に差し込まれていた X-Authentication-Warning example.co.jp apache set sender to info@example.com using -f どうやら、メール送信時にApacheが親切にも送信元を書き換えているので注意してくださいみたいな ワーニングを付けてくれているらしいが、このせいで受信できなかったり迷惑メールにと判定されたりすることもあるらしい /etc/mail/trusted-users で、このファイルにapacheと追記するだけで解決した なお、このサーバーはsendmailを使っていたのでこうなったが、postfixだとどうなるのかは不明 Courier-IMAPの起動と停止 メール配信システム。ソースから自力でインストールしてたりすると、serviceに登録されないのか serviceコマンドから認識できなかったので。 Solaris# /usr/lib/courier-imap/libexec/imapd.rc start Solaris# /usr/lib/courier-imap/libexec/pop3d.rc start /var/log/maillog に下のよくわからないローカルホストからのアクセスログがでまくりだった。 Postfixだけを停止させていたので、Courier-IMAPがローカルのPostfixを探し続けているんじゃないだろうか。 Dec 16 12 02 18 localhost pop3d Connection, ip=[ ffff 127.0.0.1] Dec 16 12 02 18 localhost pop3d LOGOUT, ip=[ ffff 127.0.0.1] Dec 16 12 02 18 localhost pop3d Disconnected, ip=[ ffff 127.0.0.1] Dec 16 12 03 16 localhost imapd Connection, ip=[ ffff 127.0.0.1] Dec 16 12 03 16 localhost imapd LOGOUT, ip=[ ffff 127.0.0.1], rcvd=10, sent=307 OP25B 対策 port25でメールが送れなくなるやつ。普通の設定のほかに /etc/postfix/main.cf のmynetworksのところにこんな感じで、いちいちIPアドレスかネットワークアドレスを登録する必要がある模様。 mynetworks = 127.0.0.0/8, 122.xxx.xxx.xxx, 222.xxx.xxx.xxx どういうことなのかよくわからないが、他に方法があるのか不明。 MTAの変更 alternatives --config mta SquirrelMailのEmpty Trashプラグイン ダウンロードして展開後、設定ツールで登録するだけでなく、プラグインディレクトリ内の 設定ファイルをサンプルから作らないとダメらしい。 cp empty_trash/config.php.sample empty_trash/config.php コマンドラインからメール送信 そのサーバーからメールが送れるかテストするのに、いちいちプログラムを作ったりするのが面倒なので コマンドから送信テストできる mail メールアドレス 件名を入れてリターン、本文を入れて終わりは「.(ピリオド)」を入れてリターンで本文終了 Ccを入れてもいれなくてもOKでリターンで送信できている模様 送信専用sendmailの設定 ECサイトなどで、申込完了メールを送信する、送信専用としてsendmailを動かす場合 デーモンとして sendmail を動かす必要はないんだって、知らんかった。 インストールだけで動くものと思ってたが、動かなかったことがあったのでメモ。 設定ファイルも、デーモン用とコマンドから送信する時に使う設定ファイルが違っていて、 sendmail.cf は サーバ用の設定ファイルで mail コマンドが使用するのは submit.cf とのこと。 .cfが設定ファイルだが、.mcファイルを編集してそれから生成するものらしい。 # vi /etc/mail/submit.mc 次の設定を変更 FEATURE(`msp , `[127.0.0.1] )dnl 外部のメールサーバが mail.example.com のとき次のように記述。 "dnl" は、コメントアウト。 dnl FEATURE(`msp , `[127.0.0.1] )dnl FEATURE(`msp , `mail.example.com )dnl ついでに次のように記述してホスト名を設定できます。(らしい) 送信メールが xxxx @example.com の様になる。 define(`confDOMAIN_NAME , `example.com )dnl 編集が終わったら、次のコマンドで submit.mc から submit.cf を作成 # m4 /etc/mail/submit.mc /etc/mail/submit.cf sendmail-cf パッケージが入っていないと m4 コマンドがないので インストールする必要がある # yum install sendmail-cf 転載元 http //www.odin.hyork.net/write/write0068.html
https://w.atwiki.jp/lud-p/pages/22.html
jail fulltree 9.0-Release jail fulltree 9.0-Release mainte 用 jail fulltree の構築 base バイナリの構築 jail fulltree の初期設定 jail fulltree の稼動 自動起動設定 jail fulltree の整備 portsnap で ports の更新 portsの自動メンテナンス ports メンテナンス結果のメール送信 pkg_replace のインストール portconf のインストール portaudit のインストール portaudit 脆弱性チェック結果のメール送信 sendmail の設定 freebsd-update 自動更新設定 資料 アーカイブ 関連ページ FreeBSD 9.0-Releaseにjail fulltreeを導入した時の備忘的まとめです 今後、このfulltreeを使用して minitree を作成していきます jail fulltree 8.2-Release (i386+512M) mainte jail fulltree 8.1-RELEASE common jailstp 以上のサイトを参考にさせていただいております 基本的にはwirednoize様のmainte jail fulltree のそのままです ですので、詳細はmainte jail fulltree 8.1-RELEASEを参照してください mainte 用 jail fulltree の構築 HOST環境での作業 base バイナリの構築 ftp サーバよりrelease/baseファイルを取得して、jail環境を構築します base バイナリ展開用ディレクトリを作成します # mkdir /tmp/base # cd /tmp/base base.txzを取得します日本のミラーサーバは数字なし[ftp]と2-9の番号つき[ftp2]~[ftp9]がありますので、適宜変更してください # fetch ftp //ftp.jp.freebsd.org/pub/FreeBSD/releases/amd64/9.0-RELEASE/base.txz jail fulltree 用ディレクトリを作成しますzfs でディレクトリを切り分けます # zfs create tank0/jail # zfs create -o mountpoint=/home/mainte90 tank0/jail/mainte90 base バイナリを展開します # cat base.txz | tar --unlink -xpJf - -C /home/mainte90 ↑ jail fulltree の初期設定 設定のため、起動させます # mount -t devfs devfs /home/mainte90/dev # jail /home/mainte90 test.localdomain 192.168.100.90 /bin/tcsh JAIL環境での作業 起動時の警告を抑制するため、空の/etc/fstabファイルを作成します # touch /etc/fstab sendmailの警告を抑制するため/etc/mail/aliases.dbを生成します # newaliases rc.confの設定をします # vi /etc/rc.conf network_interface="" rpcbind_enable="NO" inet_enable="NO" syslogd_flags="-ss" sshd_enable="NO" sendmail_enable="NO" sendmail_submit_enable="NO" sendmail_outbound_enable="NO" sendmail_msp_queue_enable="NO" resolv.conf の設定をします # echo nameserver 192.168.1.1 /etc/resolv.conf root のログインシェルを変更しますjexec を使用して jail fulltree に入るので ログインシェルを無しにします # vipw root 0 0 0 0 Charlie /root /usr/sbin/nologin toor * 0 0 0 0 Bourne-again Superuser /root /usr/sbin/nologin 上記2行のみ変更 タイムゾーンを変更します # cp -p /usr/share/zoneinfo/Asia/Tokyo /etc/localtime crontab を編集します # vi /etc/crontab # SHELL=/bin/sh PATH=/etc /bin /sbin /usr/bin /usr/sbin HOME=/var/log # #minute hour mday month wday who command 1 0 * * * root newsyslog その他は削除 newsyslog を編集します # vi /etc/newsyslog.conf # logfilename [owner group] mode count size when flags [/pid_file][sig_num] /var/log/all.log 600 7 * @T00 - その他は削除 ログを設定します # echo *.* /var/log/all.log /etc/syslog.conf # touch /var/log/all.log # chmod 600 /var/log/all.log /etc/hosts.allowをすべて拒否に変更します # echo ALL ALL deny /etc/hosts.allow /etc/make.confを設定しますX等のグラフィック関係、IPV6など使用しないものを無効にし、マルチバイト関数はないとハマルとのことSUPHOST と MASTER_SITE_OVERRIDE は、CVSup サイト一覧 と ftp サイト一覧 から日本のサイトを選択WRKDIRPREFIX と DISTDIR の設定は、/usr/ports ディレクトリをを綺麗にしておくのに必須とのこと最適化のためCPUTYPE CFLAGS COPTFLAGS を設定/usr/share/example/etc/make.confと/usr/share/mk/bas.cpu.mkを参考にCPUTYPEをnoconaに設定しました # vi /etc/make.conf WITHOUT_X11=yes WITHOUT_GUI=yes NO_X=true WITHOUT_IPV6=yes WITH_MBSTRING=yes SUPHOST=cvsup3.jp.freebsd.org MASTER_SITE_OVERRIDE=ftp //ftp3.jp.freebsd.org/pub/FreeBSD/distfiles/${DIST_SUBDIR} WRKDIRPREFIX=/tmp DISTDIR=/tmp/distfiles CPUTYPE=nocona CFLAGS= -O2 -fno-strict-aliasing -pipe COPTFLAGS= -O2 -fno-strict-aliasing -pipe Jail環境での作業を終了します # exit ↑ jail fulltree の稼動 HOST環境での作業 自動起動設定 jail共通起動停止シェルスクリプトの設置jail共通起動停止シェルスクリプトから最新の common_Njailstp.file.?.?.gz をダウンロードします解凍して common_Njailstp.file にファイル名を変更後、/usr/local/etc/rc.d におきます 自動起動用スクリプトの設定 # vi /usr/local/etc/rc.d/mainte90_jail.sh #!/bin/sh #--------------------------------------- Jid="90" Secu="-1" NtwkIF="lo0" HsFQDN="mainte90.localdomain" IPAdrs="192.168.1.90" BDcast="192.168.1.90" NTmask="255.255.255.255" PsName="mainte90" ChRoot="/home/$PsName" MTdpnf="$ChRoot/dev /tmp/$PsName/tmp $ChRoot/tmp" #---------------------------------------------------------------------- BFsrtJ="/bin/mkdir -p /tmp/$PsName/tmp/distfiles /bin/chmod 1777 /tmp/$PsName/tmp" /sbin/mount -t zfs tank0/ports /home/$PsName/usr/ports" AFsrtJ="" BFstpJ="jexec Jid /bin/sh /etc/rc.shutdown" AFstpJ="/bin/rm -rf /tmp/$PsName" Jstcom="/bin/sh /etc/rc" #--------------------------------------- . /usr/local/etc/rc.d/common_Njailstp.file jailstartop $1 実行権限付与 chmod u+x /usr/local/etc/rc.d/mainte90_jail.sh 起動・停止 /usr/local/etc/rc.d/mainte90_jaile.sh start /usr/local/etc/rc.d/mainte90_jaile.sh stop ↑ jail fulltree の整備 maintenance 用 jail fulltree を起動します # /usr/local/etc/rc.d/mainte90_jail.sh start # jexec 90 /bin/tcsh portsnap で ports の更新 JAIL環境での作業 portsnap を起動して ports の更新をします初回 # portsnap fetch portsnap extract portsnap update 2回目以降 # portsnap fetch portsnap update ↑ portsの自動メンテナンス portsnap fetch の代わりに portsnap cron を使ったスクリプトを記述します portsnap の実行ログを保存します 後で、ログローテーションの対象にするので、ひたすら追記書きさせます portsnap を cron で流して ports の自動更新をします。 portsnap の自動更新スクリプト # mkdir /root/update # cd /root/update # vi ports_update_cron.sh #!/bin/sh LogFile="/var/log/ports_update.log" echo "### `date` ###" $LogFile /usr/sbin/portsnap cron $LogFile 2 1 /usr/sbin/portsnap update $LogFile 2 1 echo "### `date` ###" $LogFile portsnap の手動更新スクリプト # vi port_update.sh #!/bin/sh /usr/sbin/portsnap fetch /usr/sbin/portsnap update 実行権の付与 # chmod u+x ports_update.sh ports_update_cron.sh crontab の設定適当な頻度で ports の自動更新が走るように設定を追記します vi /etc/crontab # portsnap ports_update 1 9 * * 1,4 root /root/update/ports_update_cron.sh /dev/null 2 1 ログローテーション設定portsnap のログローテーション設定を 追記します vi /etc/newsyslog.conf # logfilename [owner group] mode count size when flags [/pid_file][sig_num] /var/log/all.log 600 7 * @T00 - /var/log/ports_update.log 600 7 1 * N ↑ ports メンテナンス結果のメール送信 ports 更新の有無を簡単に知る為に、定期的に portversion のコマンド結果をメールで送信します mail コマンドを使ってメールを送信するスクリプト # vi portvermail.sh #!/bin/sh #------------------------------------------ MailTO="root" MilTmp=/tmp/pkgversion.txt MilHed="mainte pkg version list" #------------------------------------------ echo $MilHed $MilTmp echo "" $MilTmp /usr/sbin/pkg_version -v $MilTmp cat $MilTmp | /usr/bin/mail -s "$MilHed" $MailTO 実行権の付与 chmod u+x portvermail.sh ports_update_cron.sh へ追加 echo /root/update/portvermail.sh ports_update_cron.sh ↑ pkg_replace のインストール ports の更新やインストールに pkg_replace を入れます ports からインストールとハッシュテーブルの再構築 # cd /usr/ports/ports-mgmt/pkg_replace # make install clean # rehash ↑ portconf のインストール portをインストールする際の設定をmake install でも同じくするためのツールだそうです pkg_replace コマンドでインストールします。 # pkg_replace -vcCN ports-mgmt/portconf ↑ portaudit のインストール ports ソフトウェアの脆弱性をチェックします pkg_replace コマンドでインストールします。 # pkg_replace -vcCN ports-mgmt/portaudit 脆弱性のチェック # /usr/local/sbin/portaudit -Fda ↑ portaudit 脆弱性チェック結果のメール送信 毎日 portaudit のチェック結果をメールで報告させます mail コマンドを使ってメールを送信するスクリプトを記述します #cd /root/update #vi portauditmail.sh #!/bin/sh RanDOM=`jot -r 1 1 1800` /bin/sleep $RanDOM #------------------------------------------ MailTO="root" MilTmp="/tmp/portaudit.txt MilHed="portaudit report" #------------------------------------------ echo $MilHed $MilTmp echo "" $MilTmp /usr/local/sbin/portaudit -Fdav $MilTmp cat $MilTmp | /usr/bin/mail -s "$MilHed" $MailTO 実行権の付与 chmod u+x portauditmail.sh crontab の設定適当な頻度で ports の自動更新が走るように設定を追記します vi /etc/crontab # portaudit 1 5 * * * root /root/update/portauditmail.sh /dev/null 2 1 ↑ sendmail の設定 結果メールを送信する為に sendmail を起動し、送信後に sendmail を止めるスクリプトを作成します 全拒否の hosts.allow # vi /root/update/hosts.allow_deny ALL ALL deny sendmail許可の hosts.allow # vi /root/update/hosts.allow_mail sendmail localhost allow sendmail 192.168.1.90 allow sendmail .localdomain allow ALL ALL deny sendmail 完全停止用の rc.conf cp /etc/rc.conf rc.conf_none sendmail 起動用の rc.conf現在の /etc/rc.confを流用します # cp /etc/rc.conf rc.conf_mail # sed -i -e "/^sendmail_/d" /root/update/rc.conf_mail # echo sendmail_enable="NO" /root/update/rc.conf_mail メールの転送設定 echo admin@localdomain /root/.forward メール送信シェルスクリプトの作成# vi resend.sh #!/bin/sh cp -p /root/update/rc.conf_mail /etc/rc.conf cp -p /root/update/hosts.allow_mail /etc/hosts.allow sh /etc/rc.sendmail start sleep 6 sh /etc/rc.sendmail stop sleep 4 pkill sendmail cp -p /root/update/hosts.allow_deny /etc/hosts.allow cp -p /root/update/rc.conf_none /etc/rc.conf 実行権付与 # chmod u+x resend.sh portvermail.sh の変更メール送信シェルスクリプトの起動を追記します echo /root/update/resend.sh /root/update/portvermail.sh portauditmail.sh の変更メール送信シェルスクリプトの起動を追記します echo /root/update/resend.sh /root/update/portauditmail.sh ↑ freebsd-update 自動更新設定 freebsd-updateがディレクトリ指定で updateできるようなのでその機能を利用します Jail環境での作業を終了します # exit HOST環境での作業 freebsd-updateスクリプトの設定freebsd-update fetch の代わりに freebsd-update cron という cron 動作用のコマンドを使用しますまた HOST は cron(fetch) のみ jail は install まで行います # mkdir /root/update # cd /root/update # vi freebsd-update_cron.sh #!/bin/sh ### HOST用 /usr/sbin/freebsd-update cron #/usr/sbin/freebsd-update install ### mainte jail用 /usr/sbin/freebsd-update -b /home/mainte90 -d /home/mainte90/var/db/freebsd-update fetch /usr/sbin/freebsd-update -b /home/mainte90 -d /home/mainte90/var/db/freebsd-update install 実行権付与 chmod u+x freebsd-update_cron.sh crontab の設定適当な頻度で freebsd-update が起動するように追記します vi /etc/crontab # freebsd-update 0 6 * * 2,4,6 root /root/freebsd-update_cron.sh /var/log/freebsd-update.log 2 1 freebsd-update の結果をメール送信freebsd-update cron が実行されて何らかのアップデートがあった場合、ローカルの root 宛にメールを出してくれる機能が組み込まれているので、特別な作業はありません メールの転送設定ローカルのroot宛にメールを出してくれるので、普段使うアドレスへ転送する設定をします echo admin@localdomain /root/.forward 資料 アーカイブ mainte jail fulltree 8.1-RELEASE (2011-09-10 15 15 28) common jailstp (2012-09-05 13 54 52) ↑ 関連ページ ↑ 名前 コメント
https://w.atwiki.jp/freememo/pages/100.html
概要 スプリッタウィンドウ作成 コメント 概要 TOP スプリッタウィンドウ作成 以下のようなスプリッタウィンドウを作成する。 スプリッタウィンドウを、CMainFrameクラスのメンバ変数とする。 MainFrm.h class CMainFrame public CFrameWnd { : private CSplitterWnd m_splitWndMain; // メインフレームを左右分割するスプリッタウィンドウ CSplitterWnd m_splitWndSub; // 上記の右ペインを上下分割するスプリッタウィンドウ : } 以下のCViewクラスのサブクラスを3つを作成する。 CPaneAView CPaneBView CPaneCView CMainFrame OnCreateClient()をオーバーライドして、以下のソースコードを追加する。 MainFrm.cpp #include "PaneAView.h" #include "PaneBView.h" #include "PaneCView.h" BOOL CMainFrame OnCreateClient(LPCREATESTRUCT lpcs, CCreateContext* pContext) { m_splitWndMain.CreateStatic( this, 1, 2); m_splitWndSub.CreateStatic( m_splitWndMain, 2, 1, WS_CHILD | WS_VISIBLE, m_splitWndMain.IdFromRowCol(0, 1)); m_splitWndMain.CreateView( 0, 0, RUNTIME_CLASS(CPaneAView), CSize(100, 0), pContext); m_splitWndSub.CreateView( 0, 0, RUNTIME_CLASS(CPaneBView), CSize(0, 100), pContext); m_splitWndSub.CreateView( 1, 0, RUNTIME_CLASS(CPaneCView), CSize(0, 0), pContext); return TRUE; //return CFrameWnd OnCreateClient(lpcs, pContext); } 自動生成で作成されているデフォルト『View』は不要なので、削除すること! TOP コメント 名前 コメント TOP
https://w.atwiki.jp/torealy/pages/30.html
この項目「」は、書きかけの項目です。 AllowSingleHopExits 0|1 AssumeReachable 0|1 BridgeRelay 0|1 Log minSeverity[-maxSeverity] stderr|stdout|syslog Log minSeverity[-maxSeverity] file FILENAME Log [domain,…]minSeverity[-maxSeverity] … stderr|stdout|syslog AllowSingleHopExits 0|1 クライアントがこのサーバーをシングルホッププロキシとして使えるかどうかのオプションです。 もし1なら、クライアントはこのサーバーしか経由しない接続経路を作ることが出来ます。 SingleHop [クライアント]--- [SingleHopExit]--- [外部ネットワーク] ただし、多くのクライアントはこのオプションがセットされているサーバーを遮断していると思われます。 何故なら多くのクライアントはExcludeSingleHopRelaysをセットしているからです。(デフォルト:0) AssumeReachable 0|1 このオプションは新しいTorネットワークへの準備中に使われます。 もし1なら、自己到達テストは行わず自分のサーバーのデータを直ぐに へアップロードします。 BridgeRelay 0|1 Log minSeverity[-maxSeverity] stderr|stdout|syslog Log minSeverity[-maxSeverity] file FILENAME Log [domain,…]minSeverity[-maxSeverity] … stderr|stdout|syslog ログ出力に関する設定です。 "Log notice stdout"とすると、重大度がnotice以上のログを標準出力に送ります。 "Log info file /var/log/tor/tor.log"とすると、重大度がinfo以上のログを/var/log/tor/tor.logに記録します。 "Log [net]debug stdout"とすると、ログの種別がnetで、重大度がdebug以上のログを標準出力に送ります。 ログの重大度は重大度が低い方からdebug, info, notice, warn, errに分けられます。 ログの種別には、general, crypto, net, config, fs, protocol, mm, http, app, control, circ, rend, bug, dir, dirserv, or, edge, acct, hist, handshake を指定出来るようです。
https://w.atwiki.jp/lud-p/pages/25.html
jail fulltree 10.0-Release jail fulltree 10.0-Release mainte 用 jail fulltree の構築 base バイナリの構築 jail fulltree の初期設定 jail fulltree の稼動 自動起動設定 jail fulltree の整備 portsnap で ports の更新 portsの自動メンテナンス ports メンテナンス結果のメール送信 pkg_replace のインストール portconf のインストール ports の脆弱性チェック設定 ports の脆弱性チェック結果のメール送信 sendmail の設定 freebsd-update 自動更新設定 資料 アーカイブ 関連ページ FreeBSD 10.0-Releaseにjail fulltreeを導入した時の備忘的まとめです 今後、このfulltreeを使用して minitree を作成していきます jail fulltree 8.2-Release (i386+512M) mainte jail fulltree 8.1-RELEASE common jailstp 以上のサイトを参考にさせていただいております 基本的にはwirednoize様のmainte jail fulltree のそのままです ですので、詳細はmainte jail fulltree 8.1-RELEASEを参照してください mainte 用 jail fulltree の構築 HOST環境での作業 base バイナリの構築 ftp サーバよりrelease/baseファイルを取得して、jail環境を構築します bsdinstall jail を使用したかったのですが、ダウンロードするアドレスに間違いあって動かなかったので、従来の方法で構築します base バイナリ展開用ディレクトリを作成します # mkdir /tmp/base # cd /tmp/base base.txzを取得します日本のミラーサーバは数字なし[ftp]と2-9の番号つき[ftp2]~[ftp9]がありますので、適宜変更してください # fetch ftp //ftp.jp.freebsd.org/pub/FreeBSD/releases/amd64/10.0-RELEASE/base.txz jail fulltree 用ディレクトリを作成しますzfs でディレクトリを切り分けます # zfs create tank0/jail # zfs create -o mountpoint=/home/mainte tank0/jail/mainte100 base バイナリを展開します # cat base.txz | tar --unlink -xpJf - -C /home/mainte ↑ jail fulltree の初期設定 設定のため、起動させます # mount -t devfs devfs /home/mainte/dev # jail /home/mainte test.localdomain 192.168.100.90 /bin/tcsh JAIL環境での作業 起動時の警告を抑制するため、空の/etc/fstabファイルを作成します # touch /etc/fstab sendmailの警告を抑制するため/etc/mail/aliases.dbを生成します # newaliases rc.confの設定をします # vi /etc/rc.conf network_interface="" rpcbind_enable="NO" inet_enable="NO" syslogd_flags="-ss" sshd_enable="NO" sendmail_enable="NO" sendmail_submit_enable="NO" sendmail_outbound_enable="NO" sendmail_msp_queue_enable="NO" resolv.conf の設定をします # echo nameserver 192.168.1.1 /etc/resolv.conf root のログインシェルを変更しますjexec を使用して jail fulltree に入るので ログインシェルを無しにします # vipw root 0 0 0 0 Charlie /root /usr/sbin/nologin toor * 0 0 0 0 Bourne-again Superuser /root /usr/sbin/nologin 上記2行のみ変更 タイムゾーンを変更します # cp -p /usr/share/zoneinfo/Asia/Tokyo /etc/localtime crontab を編集します # vi /etc/crontab # SHELL=/bin/sh PATH=/etc /bin /sbin /usr/bin /usr/sbin HOME=/var/log # #minute hour mday month wday who command 1 0 * * * root newsyslog その他は削除 newsyslog を編集します # vi /etc/newsyslog.conf # logfilename [owner group] mode count size when flags [/pid_file][sig_num] /var/log/all.log 600 7 * @T00 - その他は削除 ログを設定します # echo *.* /var/log/all.log /etc/syslog.conf # touch /var/log/all.log # chmod 600 /var/log/all.log /etc/hosts.allowをすべて拒否に変更します # echo ALL ALL deny /etc/hosts.allow /etc/make.confを設定しますX等のグラフィック関係、IPV6など使用しないものを無効にし、マルチバイト関数はないとハマルとのことSUPHOST と MASTER_SITE_OVERRIDE は、CVSup サイト一覧 と ftp サイト一覧 から日本のサイトを選択WRKDIRPREFIX と DISTDIR の設定は、/usr/ports ディレクトリをを綺麗にしておくのに必須とのこと最適化のためCPUTYPE CFLAGS COPTFLAGS を設定/usr/share/example/etc/make.confと/usr/share/mk/bas.cpu.mkを参考にCPUTYPEをnoconaに設定しました # vi /etc/make.conf WITHOUT_X11=yes WITHOUT_GUI=yes NO_X=true WITHOUT_IPV6=yes WITH_MBSTRING=yes SUPHOST=cvsup3.jp.freebsd.org MASTER_SITE_OVERRIDE=ftp //ftp3.jp.freebsd.org/pub/FreeBSD/distfiles/${DIST_SUBDIR} WRKDIRPREFIX=/tmp DISTDIR=/tmp/distfiles CPUTYPE=nocona CFLAGS= -O2 -fno-strict-aliasing -pipe COPTFLAGS= -O2 -fno-strict-aliasing -pipe Jail環境での作業を終了します # exit ↑ jail fulltree の稼動 HOST環境での作業 自動起動設定 jail共通起動停止シェルスクリプトの設置jail共通起動停止シェルスクリプトから最新の common_Njailstp.file.?.?.gz をダウンロードします解凍して common_Njailstp.file にファイル名を変更後、/usr/local/etc/rc.d におきます 自動起動用スクリプトの設定 # vi /usr/local/etc/rc.d/mainte90_jail.sh #!/bin/sh #--------------------------------------- Jid="240" Secu="-1" NtwkIF="lo0" HsFQDN="mainte90.localdomain" IPAdrs="192.168.1.240 BDcast="192.168.1.240" NTmask="255.255.255.255" PsName="mainte90" ChRoot="/home/$PsName" MTdpnf="$ChRoot/dev /tmp/$PsName/tmp $ChRoot/tmp" #---------------------------------------------------------------------- BFsrtJ="/bin/mkdir -p /tmp/$PsName/tmp/distfiles /bin/chmod 1777 /tmp/$PsName/tmp" /sbin/mount -t zfs tank0/ports /home/$PsName/usr/ports" AFsrtJ="" BFstpJ="jexec Jid /bin/sh /etc/rc.shutdown" AFstpJ="/bin/rm -rf /tmp/$PsName" Jstcom="/bin/sh /etc/rc" #--------------------------------------- . /usr/local/etc/rc.d/common_Njailstp.file jailstartop $1 実行権限付与 chmod u+x /usr/local/etc/rc.d/mainte_jail.sh 起動・停止 /usr/local/etc/rc.d/mainte_jaile.sh start /usr/local/etc/rc.d/mainte_jaile.sh stop ↑ jail fulltree の整備 maintenance 用 jail fulltree を起動します # /usr/local/etc/rc.d/mainte_jail.sh start # jexec 240 /bin/tcsh portsnap で ports の更新 JAIL環境での作業 portsnap を起動して ports の更新をします初回 # portsnap fetch portsnap extract portsnap update 2回目以降 # portsnap fetch portsnap update ↑ portsの自動メンテナンス portsnap fetch の代わりに portsnap cron を使ったスクリプトを記述します portsnap の実行ログを保存します 後で、ログローテーションの対象にするので、ひたすら追記書きさせます portsnap を cron で流して ports の自動更新をします。 portsnap の自動更新スクリプト # mkdir /root/update # cd /root/update # vi ports_update_cron.sh #!/bin/sh LogFile="/var/log/ports_update.log" echo "### `date` ###" $LogFile /usr/sbin/portsnap cron $LogFile 2 1 /usr/sbin/portsnap update $LogFile 2 1 echo "### `date` ###" $LogFile portsnap の手動更新スクリプト # vi port_update.sh #!/bin/sh /usr/sbin/portsnap fetch /usr/sbin/portsnap update 実行権の付与 # chmod u+x ports_update.sh ports_update_cron.sh crontab の設定適当な頻度で ports の自動更新が走るように設定を追記します vi /etc/crontab # portsnap ports_update 1 9 * * 1,4 root /root/update/ports_update_cron.sh /dev/null 2 1 ログローテーション設定portsnap のログローテーション設定を 追記します vi /etc/newsyslog.conf # logfilename [owner group] mode count size when flags [/pid_file][sig_num] /var/log/all.log 600 7 * @T00 - /var/log/ports_update.log 600 7 1 * N ↑ ports メンテナンス結果のメール送信 ports 更新の有無を簡単に知る為に、定期的に portversion のコマンド結果をメールで送信します mail コマンドを使ってメールを送信するスクリプト # vi portvermail.sh #!/bin/sh #------------------------------------------ MailTO="root" MilTmp=/tmp/pkgversion.txt MilHed="mainte pkg version list" #------------------------------------------ echo $MilHed $MilTmp echo "" $MilTmp /usr/sbin/pkg_version -v $MilTmp cat $MilTmp | /usr/bin/mail -s "$MilHed" $MailTO 実行権の付与 chmod u+x portvermail.sh ports_update_cron.sh へ追加 echo /root/update/portvermail.sh ports_update_cron.sh ↑ pkg_replace のインストール ports の更新やインストールに pkg_replace を入れます ports からインストールとハッシュテーブルの再構築 # cd /usr/ports/ports-mgmt/pkg_replace # make install clean # rehash ↑ portconf のインストール portをインストールする際の設定をmake install でも同じくするためのツールだそうです pkg_replace コマンドでインストールします。 # pkg_replace -vcCN ports-mgmt/portconf ↑ ports の脆弱性チェック設定 ports ソフトウェアの脆弱性をチェックします 脆弱性のチェック # pkg audit -F ↑ ports の脆弱性チェック結果のメール送信 毎日 pkg audit のチェック結果をメールで報告させます mail コマンドを使ってメールを送信するスクリプトを記述します #cd /root/update #vi pkg_auditmail.sh #!/bin/sh RanDOM=`jot -r 1 1 1800` /bin/sleep $RanDOM #------------------------------------------ MailTO="root" MilTmp="/tmp/pkg_audit.txt MilHed="pkg audit report" #------------------------------------------ echo $MilHed $MilTmp echo "" $MilTmp /usr/sbin/pkg audit -F $MilTmp cat $MilTmp | /usr/bin/mail -s "$MilHed" $MailTO 実行権の付与 chmod u+x pkg_auditmail.sh crontab の設定適当な頻度で ports の自動更新が走るように設定を追記します vi /etc/crontab # pkg audit 1 5 * * * root /root/update/pkg_auditmail.sh /dev/null 2 1 ↑ sendmail の設定 結果メールを送信する為に sendmail を起動し、送信後に sendmail を止めるスクリプトを作成します 全拒否の hosts.allow # vi /root/update/hosts.allow_deny ALL ALL deny sendmail許可の hosts.allow # vi /root/update/hosts.allow_mail sendmail localhost allow sendmail 192.168.1.90 allow sendmail .localdomain allow ALL ALL deny sendmail 完全停止用の rc.conf cp /etc/rc.conf rc.conf_none sendmail 起動用の rc.conf現在の /etc/rc.confを流用します # cp /etc/rc.conf rc.conf_mail # sed -i -e "/^sendmail_/d" /root/update/rc.conf_mail # echo sendmail_enable="NO" /root/update/rc.conf_mail メールの転送設定 echo admin@localdomain /root/.forward メール送信シェルスクリプトの作成# vi resend.sh #!/bin/sh cp -p /root/update/rc.conf_mail /etc/rc.conf cp -p /root/update/hosts.allow_mail /etc/hosts.allow sh /etc/rc.sendmail start sleep 6 sh /etc/rc.sendmail stop sleep 4 pkill sendmail cp -p /root/update/hosts.allow_deny /etc/hosts.allow cp -p /root/update/rc.conf_none /etc/rc.conf 実行権付与 # chmod u+x resend.sh portvermail.sh の変更メール送信シェルスクリプトの起動を追記します echo /root/update/resend.sh /root/update/portvermail.sh portauditmail.sh の変更メール送信シェルスクリプトの起動を追記します echo /root/update/resend.sh /root/update/portauditmail.sh ↑ freebsd-update 自動更新設定 freebsd-updateがディレクトリ指定で updateできるようなのでその機能を利用します Jail環境での作業を終了します # exit HOST環境での作業 freebsd-updateスクリプトの設定freebsd-update fetch の代わりに freebsd-update cron という cron 動作用のコマンドを使用しますまた HOST は cron(fetch) のみ jail は install まで行います # mkdir /root/update # cd /root/update # vi freebsd-update_cron.sh #!/bin/sh ### HOST用 /usr/sbin/freebsd-update cron #/usr/sbin/freebsd-update install ### mainte jail用 /usr/sbin/freebsd-update -b /home/mainte90 -d /home/mainte90/var/db/freebsd-update fetch /usr/sbin/freebsd-update -b /home/mainte90 -d /home/mainte90/var/db/freebsd-update install 実行権付与 chmod u+x freebsd-update_cron.sh crontab の設定適当な頻度で freebsd-update が起動するように追記します vi /etc/crontab # freebsd-update 0 6 * * 2,4,6 root /root/freebsd-update_cron.sh /var/log/freebsd-update.log 2 1 freebsd-update の結果をメール送信freebsd-update cron が実行されて何らかのアップデートがあった場合、ローカルの root 宛にメールを出してくれる機能が組み込まれているので、特別な作業はありません メールの転送設定ローカルのroot宛にメールを出してくれるので、普段使うアドレスへ転送する設定をします echo admin@localdomain /root/.forward 資料 アーカイブ mainte jail fulltree 8.1-RELEASE (2011-09-10 15 15 28) common jailstp (2012-09-05 13 54 52) ↑ 関連ページ ↑ 名前 コメント
https://w.atwiki.jp/yoshida2/pages/114.html
telnetでメール送信 telnetでのメール送信方法 telnetコマンドで、sendmailの25番ポートに接続し、直接、メールを送信してみます。 この操作で、メール送信時のデータの流れが、だいたい理解できると思います。 Linux# telnet mail.ash.jp 25 Trying 210.154.87.18 ... Connected to mail.ash.jp Escape character is ^] . 220 mail.ash.jp ESMTP Sendmail 8.9.1/3.7W; Tue, 29 Sep 1998 12 30 13 +0900 (JST) HELO foo.or.jp 250 mail.ash.jp Hello pc20.lo.ash.jp [10.0.1.20], pleased to meet you MAIL FROM user@foo.or.jp 250 user@foo.or.jp... Sender ok RCPT TO joe@ash.jp 250 joe@ash.jp... Recipient ok DATA 354 Enter mail, end with . on a line by itself From user@foo.or.jp Subjet test Hello world. . 250 NAA02891 Message accepted for delivery QUIT 221 mail.ash.jp closing connection telnetでの送信時のプロトコルの流れを、以下の図で表します。 SMTPコマンド一覧 SMTPとは、メールを送信するときのプロトコルです。 以下に、よく使うSMTPコマンドの一覧を掲載します。 詳細な定義は、以下のRFCで定義されています。 RFC-0821 SMTP RFC-1869 ESMTP HELO クライアントドメイン名 クライアントをメールサーバに認識させる MAIL FROM 送信元メールアドレス 送信元をメールサーバに認識させる RCPT TO 送信先メールアドレス 送信先をメールサーバに認識させる DATA メールのデータを転送を開始する データの先頭に . のみを入力すると、終了する。 データの中に、Subject From などが含まれる。 メールを受信した時に表示される、From は、このデータの一部である。 そのため、簡単に偽名を利用できる。 QUIT メールの送信を終了する。
https://w.atwiki.jp/lucier/pages/19.html
EC-CUBEのメルマガ機能を利用すると、from_nameがショップ名でなく会社名になっています。 これ、ほとんどの人はショップ名で送りたいと思うんですけどね…。 ということで変更方法ですが、 /admin/mail/sendmail.php にfromアドレスが指定されていますので、このファイルの "company_name"を"shop_name" に置換すればOKです。
https://w.atwiki.jp/api_programming/pages/58.html
下位ページ Content 構造「スレッド」と「メッセージ」 Mailメールを送るGoogleDriveのファイルを添付する メールを検索する メールの受信(送信)日時を取得するメールを削除する(ゴミ箱行き) Apps Script Gmail 構造「スレッド」と「メッセージ」 メッセージ:いわゆるメールの単位 スレッド:ある一つのメッセージに対する返信を束ねる スレッド - Gmail ヘルプ Mail メールを送る GmailApp.sendEmail(recipient, subject, body) GmailApp.sendEmail(recipient, subject, body, options) optionの使い方で添付ファイルを送ったりできる sendEmail GoogleDriveのファイルを添付する optionsに {attachmens BlobSourse[]} を指定 sendmailのサンプルを見てみると var file = DriveApp.getFileById( 1234567890abcdefghijklmnopqrstuvwxyz ); GmailApp.sendEmail( mike@example.com , Attachment example , Please see the attached file. , {attachments [file.getAs(MimeType.PDF)], name Automatic Emailer Script }); とある。 BlobSourceを見てみると、そのなかに 「File A file in Google Drive」 が存在。つまり、添付するファイルのオブジェクトを取得して、これを {attachments (File)} として送ってやれば良い。 https //developers.google.com/apps-script/reference/base/blob-source で、Blobって一体? バイナリ・ラージ・オブジェクト - Wikipedia BLOB - Weblio辞書 いろんな形式のデータ、という程度の理解にとどめておく。なので、BlobSourceは、Blobのデータとして使えるものが書いてあるという理解。これらに関しては、 (BlobSource).getAs(contentType) (BlobSource).getBlob() で、そのままBlobにしたり、形式を変換してBlobにしたりできる。 getAs() getBlob() getAs(contentType)で、多くの場合に使えるのは application/pdf 画像系なら image/bmp , image/gif , image/jpeg , or image/png が使える 上記のサンプルの中では、file.getAs(...) としているが、この関数でBlobが返っている。 メールを検索する GmailApp.search(queryString) search メールの受信(送信)日時を取得する objGmailMessage.getDate() getDate JavaScript/Date メールを削除する(ゴミ箱行き) objGmailMessage.MoveToTrash() MoveToTrash